package org.csu.mall.service;

import com.alipay.demo.trade.model.result.AlipayF2FPrecreateResult;
import com.google.gson.JsonObject;
import org.csu.mall.common.UniformResponse;
import org.csu.mall.entity.Account;
import org.csu.mall.entity.CustomerOrder;
import org.csu.mall.vo.AlipayVO;
import org.csu.mall.vo.CustomerOrderListVO;
import org.csu.mall.vo.CustomerOrderVO;


public interface ICustomerOrderService {

    UniformResponse<CustomerOrderVO> purchaseOrder(CustomerOrder customerOrder, Account account);

    UniformResponse<String> orderPayment(Long orderId, Account account);

    UniformResponse<String> orderConfirm(Long orderId, Account account);

    UniformResponse<String> orderComment(Long orderId, String comment, Integer star,Account account);

    UniformResponse<String> orderDelivery(Long orderId, Account account);

    UniformResponse<String> orderReject(Long orderId, Account account);

    UniformResponse<String> customerOrderCancel(Long orderId, Account account);

    UniformResponse<CustomerOrderVO> getCustomerOrderDetail(Long orderId, Account account);

    UniformResponse<CustomerOrderListVO> getCustomerOrderList(Long orderId, String keyword, int pageSize, int pageNum,
                                                              Integer orderSource, Integer orderState,
                                                              Integer deliveryStatus, Account account);

    UniformResponse<AlipayVO> tradePrecreate(Long orderId, Account account);
}
